package com.cbts.service.info;

import java.util.List;

import com.cbts.entity.Department;
import com.cbts.entity.UserInfo;
import com.cbts.util.Page;
/**
 * @author 邱鸿辉
 *
 */
public interface DepartmentService {

	/**
	 * 增加部门
	 * @param department 部门
	 * @return 增加部门成功返回true,失败返回false
	 */
	public boolean addDepartment(Department department);
	/**
	 * 删除部门
	 * @param department 部门
	 * @return
	 */
	public boolean deleteDepartment(Department department);
	/**
	 * 获取部门
	 * @param id 部门id(部门标识)
	 * @return
	 */
	public Department getDepartment(String id);
	/**
	 * 修改部门
	 * @param department 部门
	 * @return
	 */
	public boolean updateDepartment(Department department);
	/**
	 * 获取所有部门
	 * @return 全部部门（列表）
	 */
	public List<Department> getAllDepartment();
	public Page<Department> getAllDepartmentByPage();
	/**
	 * 更新部门列表中的部门
	 *  @param departmentList 部门列表
	 * @return 更新部门列表中的部门成功返回true,失败返回false
	 */
	public void updateDepartmentList(List<Department> departmentList);
	/**
	 * 删除部门列表中的部门
	 *  @param departmentList 部门列表
	 * @return 成功删除部门列表中的部门则返回true，否则返回false
	 */
	public boolean deleteDepartmentList(List<Department> departmentList);
	/**
	 * 获取用户勾选的部门
	 *  @param departmentList 部门列表
	 *   @param check 被勾选的部门的departmentId构成的字符串 
	 * @return 被勾选的部门
	 */
	public List<Department> getSelectedDepartmentList(List<Department> departmentList,String check,String operate);
	/**
	 * 根据部门名获取部门
	 * @param departmentName 部门名
	 * @return 部门
	 */
	public Department getDepartmentByDepartmentName(String departmentName);
	/**
	 * 检查是否存在相同的部门名
	 * @param departmentId 部门号
	 * @param departmentName 部门名
	 * @return 存在则返回true，否则返回false
	 */
	public boolean sameDepartmentNameExist(String departmentId,String departmentName);

	
}
